package com.huimin.merchant.service;

import com.huimin.merchant.dto.MerchantDTO;
import com.huimin.merchant.dto.StaffDTO;
import com.huimin.merchant.dto.StoreDTO;

/**
 * 商户模块service接口
 *
 * @author ymx
 * @date 2020-12-03  7:21
 */
public interface MerchantServiceApi {

	/**
	 * 通过ID查询Merchant
	 *
	 * @param id MerchantId
	 * @return dto
	 */
	MerchantDTO findMerchantById(Long id);

	/**
	 * 商户注册
	 *
	 * @param dto merchantDto
	 */
	MerchantDTO registerMerchant(MerchantDTO dto);

	/**
	 * 根据手机号获取商户信息
	 *
	 * @param mobile 手机号
	 */
	void findMerchantByPhone(String mobile);


	/**
	 * 资质申请
	 *
	 * @param merchantId  商户id
	 * @param merchantDTO 资质申请信息
	 */
	void applyMerchant(Long merchantId, MerchantDTO merchantDTO);

	/**
	 * 添加门店
	 *
	 * @param storeDTO
	 * @return
	 */
	StoreDTO addStore(StoreDTO storeDTO);


	/**
	 * 添加员工
	 *
	 * @param staffDTO 员工对象
	 * @return 员工对象
	 */
	StaffDTO createStaff(StaffDTO staffDTO);


	/**
	 * 绑定员工与门店的关系
	 *
	 * @param staffId 员工id
	 * @param storeId 门店id
	 * @return 绑定确认
	 */
	Boolean bindStaffForStore(Long staffId, Long storeId);
}
